{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "    工作原理\n",
    "        * 输入一个没有标签的新数据，将新数据与样本数据对应的特征进行比较，\n",
    "          然后选择样本中最相似的标签，作为新数据标签\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'A'"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from numpy import * \n",
    "import matplotlib.pyplot as plt\n",
    "import operator \n",
    "\n",
    "\n",
    "def createDataSet():\n",
    "    group = array([[1,1.1],[1,1], [0,0],[0,0.1]])\n",
    "    labels = ['A', 'A', 'B', 'B']\n",
    "    return group, labels \n",
    "\n",
    "\n",
    "# K 邻近算法\n",
    "def classify0(inX, dataSet, labels, k):\n",
    "    dataSetSize = dataSet.shape[0]\n",
    "    diffMat = tile(inX, (dataSetSize,1)) - dataSet \n",
    "    sqDiffMat = diffMat ** 2 \n",
    "    sqDistances = sqDiffMat.sum(axis=1)\n",
    "    distances = sqDistances ** 0.5 \n",
    "    sortedDistIndicies = distances.argsort()\n",
    "    classCount = {}\n",
    "    for i in range(k):\n",
    "        voteIlabel = labels[sortedDistIndicies[i]]\n",
    "        classCount[voteIlabel] = classCount.get(voteIlabel, 0) + 1\n",
    "    sortedClassCount = sorted(classCount.items(), key=operator.itemgetter(1), reverse=True)\n",
    "    return sortedClassCount[0][0]\n",
    "\n",
    "\n",
    "dataSet, labels = createDataSet()\n",
    "classify0([1,1], dataSet, labels, 2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([1.48660687, 1.41421356, 0.        , 0.1       ])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataSet\n",
    "dataSet.shape[0]\n",
    "((((tile([0,0], (4,1)) -dataSet)**2).sum(axis=1))**0.5)\n",
    "# ((((tile([0,0], (4,1)) -dataSet)**2).sum(axis=1))**0.5).argsort()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[('a', 3), ('c', 2), ('b', 1)]"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d = {'a':3, 'b':1, 'c':2}\n",
    "sorted(d.items(), key=operator.itemgetter(1), reverse=True)\n",
    "# operator.itemgetter(1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 示例：使用k-近邻算法改进约会网站的配对效果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "def file2matrix(filename):\n",
    "    fr = open(filename)\n",
    "    lines = fr.readlines()\n",
    "    numberOfLines = len(lines)\n",
    "    dataMat = zeros((numberOfLines, 3))\n",
    "    labelMat = []\n",
    "    index = 0 \n",
    "    for line in lines:\n",
    "        line = line.strip()\n",
    "        listFromLine = line.split('\\t')\n",
    "        dataMat[index, :] = listFromLine[0:3]\n",
    "#         print(listFromLine[-1])\n",
    "        labelMat.append(int(listFromLine[-1]))\n",
    "        index += 1\n",
    "    return dataMat, labelMat\n",
    "                        \n",
    "dataMat, labelMat = file2matrix('datingTestSet2.txt')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.collections.PathCollection at 0x182592981d0>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = plt.figure()\n",
    "ax = fig.add_subplot(111)\n",
    "ax.scatter(dataMat[:,1], dataMat[:,0], 15*array(labelMat), 15*array(labelMat))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1000, 3)"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 归一化特征\n",
    "def autoNorm(dataSet):\n",
    "    minVals = dataSet.min(0)\n",
    "    maxVals = dataSet.max(0)\n",
    "    ranges = maxVals - minVals \n",
    "    normDataSet = zeros(shape(dataSet))\n",
    "    m = dataSet.shape[0]\n",
    "    normDataSet = dataSet - tile(minVals, (m,1))\n",
    "    normDataSet = normDataSet / tile(ranges, (m, 1))\n",
    "    return normDataSet, ranges, minVals \n",
    "\n",
    "dataMat.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:3\n",
      "Label:1,    Prediction:1\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:3\n",
      "Label:3,    Prediction:3\n",
      "Label:2,    Prediction:2\n",
      "Label:1,    Prediction:1\n",
      "Label:3,    Prediction:1\n",
      "Error rate: 0.05\n"
     ]
    }
   ],
   "source": [
    "# 测试算法\n",
    "def datingClassTest(dataMat, labelMat):\n",
    "    hoRatio = 0.1 \n",
    "    normMat, ranges, minVals = autoNorm(dataMat)\n",
    "    m = normMat.shape[0]\n",
    "    numTestVecs = int(m*hoRatio)\n",
    "    errCount = 0 \n",
    "    for i in range(numTestVecs):\n",
    "        classifierResult = classify0(normMat[i,:],\n",
    "                                     normMat[numTestVecs:m,:],\n",
    "                                     labelMat[numTestVecs:m],\n",
    "                                     3)\n",
    "        print('Label:%d,    Prediction:%d' % (classifierResult, labelMat[i]))\n",
    "        if (classifierResult != labelMat[i]):\n",
    "            errCount += 1\n",
    "    print('Error rate:', errCount / numTestVecs)\n",
    "    \n",
    "    \n",
    "dataMat, labelMat = file2matrix('datingTestSet2.txt')\n",
    "datingClassTest(dataMat, labelMat)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Please input game time:2000\n",
      "Please input fly time:2000\n",
      "Please input liters of ice cream:2000\n",
      "[2000. 2000. 2000.] [0.       0.       0.001156]\n",
      "Degree:  3\n"
     ]
    }
   ],
   "source": [
    "def classifyPerson():\n",
    "    game_time = float(input('Please input game time:'))\n",
    "    fly_time = float(input('Please input fly time:'))\n",
    "    ice_cream = float(input('Please input liters of ice cream:'))\n",
    "    dataMat, labelMat = file2matrix('datingTestSet2.txt')\n",
    "    normMat, ranges, minVals = autoNorm(dataMat)\n",
    "    inArr = array([fly_time, game_time, ice_cream])\n",
    "#     print(inArr, minVals)\n",
    "    classifierResult = classify0((inArr-minVals)/ranges, normMat, labelMat, 3)\n",
    "    print('Degree: ', classifierResult)\n",
    "    \n",
    "\n",
    "classifyPerson()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
